package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import lombok.Data;

/**
 * @desc ObtainReceiveFieldComReqDto
 * @使用场景
 */
@Data
public class ObtainReceiveFieldComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 被评对象目标周期ID
   */
  @ApiModelProperty("被评对象目标周期ID")
  private String evaObjTargetCycleId;

  /**
   * 周期阶段资料记录ID
   */
  @ApiModelProperty("周期阶段资料记录ID")
  private String cycleStageDataId;

  /**
   * 任务ID
   */
  @ApiModelProperty("任务ID")
  private String taskId;

  /**
   * 周期ID
   */
  @ApiModelProperty("周期ID")
  private String cycleId;

  /**
   * 阶段工作总结内容
   */
  @ApiModelProperty("阶段工作总结内容")
  private String staWorSumCon;

  /**
   * 问题总结
   */
  @ApiModelProperty("问题总结")
  private String sumOfPro;

  /**
   * 解决思路
   */
  @ApiModelProperty("解决思路")
  private String solvingIdeas;

  /**
   * 是否实际验收周期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否实际验收周期")
  private String isActualReceptionCycle;

  /**
   * 是否允许操作 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否允许操作")
  private String isAllowOpt;

  /**
   * 成员管理权限类型 MIS_MANAGE:不可管理 FIRST_MANAGE:首次管理 FOLLOW_MANAGE:后续管理 CUR_MANAGE:当前正在管理
   */
  @ApiModelProperty("成员管理权限类型")
  private String enterMgtPowerType;

  /**
   * 关联目标内容ID
   */
  @ApiModelProperty("关联目标内容ID")
  private String targetCycleContentId;

  /**
   * 关联目标内容类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标
   */
  @ApiModelProperty("关联目标内容类型编码")
  private String targetCycleContentTypeCode;

  /**
   * 冗余评价模板ID
   */
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

  @ApiModelProperty("文档列表 ")
  List<String> documentList = new ArrayList<>();

  /**
   * 实际值（数值）
   */
  @ApiModelProperty("实际值（数值）")
  private Double actualValue;

  /**
   * 实际值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("实际值单位")
  private String actualValueUnit;

  /**
   * 参照实际值（数值）
   */
  @ApiModelProperty("参照实际值（数值）")
  private Double countActualValue;

  /**
   * 参照实际值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("参照实际值单位")
  private String countActualValueUnit;

  /**
   * 参照较上次目标变化值
   */
  @ApiModelProperty("参照较上次目标变化值")
  private Double countChangeFromLastTarget;

  /**
   * 参照较上次目标变化值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("参照较上次目标变化值单位")
  private String countChangeFromLastTargetUnit;

  /**
   * 参照较上次目标增降幅
   */
  @ApiModelProperty("参照较上次目标增降幅")
  private Double countFromLastTargetLiftRatio;

  /**
   * 参照较上次目标增降幅单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("参照较上次目标增降幅单位")
  private String countFromLastTargetLiftRatioUnit;

  /**
   * 进度值（数值）
   */
  @ApiModelProperty("进度值（数值）")
  private Double progressValue;

  /**
   * 进度值单位
   */
  @ApiModelProperty("进度值单位")
  private String progressValueUnit;

  /**
   * 文档ID
   */
  @ApiModelProperty("文档ID")
  private String unstructuredDataId;

  /**
   * 进度较上次增降幅
   */
  @ApiModelProperty("进度较上次增降幅")
  private Double progressFromLastRatio;

  /**
   * 进度较上次增降幅单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("进度较上次增降幅单位")
  private String progressFromLastRatioUnit;

  /**
   * 进度较上次变化值
   */
  @ApiModelProperty("进度较上次变化值")
  private Double fromLastProgressValue;

  /**
   * 进度较上次变化值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("进度较上次变化值单位")
  private String fromLastProgressValueUnit;

  /**
   * 上一进度值结果
   */
  @ApiModelProperty("上一进度值结果")
  private Double parentProgressValue;

  /**
   * 上一实际值结果
   */
  @ApiModelProperty("上一实际值结果")
  private Double parentActualValue;

  /**
   * 参照进度值（数值）
   */
  @ApiModelProperty("参照进度值（数值）")
  private Double countProgressValue;

  /**
   * 参照进度较上次变化值
   */
  @ApiModelProperty("参照进度较上次变化值")
  private Double countFromLastProgressValue;

  /**
   * 参照进度较上次增降幅
   */
  @ApiModelProperty("参照进度较上次增降幅")
  private Double countProgressFromLastRatio;

  /**
   * 参照进度值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("参照进度值单位")
  private String countProgressValueUnit;

  /**
   * 参照进度较上次变化值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("参照进度较上次变化值单位")
  private String countFromLastProgressValueUnit;

  /**
   * 参照进度较上次增降幅单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
   */
  @ApiModelProperty("参照进度较上次增降幅单位")
  private String countProgressFromLastRatioUnit;

  /**
   * 就职记录ID
   */
  @ApiModelProperty("就职记录ID")
  private String inductionRecordId;

  /**
   * 工作任务对象类型 PROJECT:项目 TASK:任务 PROBLEM:问题
   */
  @ApiModelProperty("工作任务对象类型")
  private String workTaskObjectType;

  /**
   * 身份人员ID
   */
  @ApiModelProperty("身份人员ID")
  private String originalRoleMemberId;

  /**
   * 自定义字段
   */
  @ApiModelProperty("自定义字段")
  private String customField;

  /**
   * 自定义字段1
   */
  @ApiModelProperty("自定义字段1")
  private String customField1;

  /**
   * 自定义字段2
   */
  @ApiModelProperty("自定义字段2")
  private String customField2;

  /**
   * 自定义字段3
   */
  @ApiModelProperty("自定义字段3")
  private String customField3;

  /**
   * 工作周期是否开启汇报 TRUE:是 FALSE:否
   */
  @ApiModelProperty("工作周期是否开启汇报")
  private String workCycleIsOpenReport;

  /**
   * 是否开启汇报任务周期筛选 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启汇报任务周期筛选  ")
  private String isOpenReportTaskCycleSelect;

  /**
   * 是否开启汇报任务按人筛选 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启汇报任务按人筛选 ")
  private String isOpenReportTaskPersonSelect;

  /**
   * 是否开启汇报任务按部门筛选 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启汇报任务按部门筛选 ")
  private String isOpenReportTaskDeptSelect;

  /**
   * 是否开启汇报任务目标内容树筛选 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启汇报任务目标内容树筛选")
  private String isOpenReportTaskCateSelect;

}
